#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# @Date : 2024/3/27 11:18
# @Author : water
# @Description : 字典的基本操作

"""
Python3 字典
    字典是另一种可变容器模型，且可存储任意类型对象。
    字典的每个键值 key=>value 对用冒号 : 分割，每个对之间用逗号(,)分割，整个字典包括在花括号 {} 中 ,格式如下所示：
        d = {key1 : value1, key2 : value2, key3 : value3 }
注意：
    dict 作为 Python 的关键字和内置函数，变量名不建议命名为 dict。
    键必须是唯一的，但值则不必。
    值可以取任何数据类型，但键必须是不可变的，如字符串，数字。
创建空字典
    使用大括号 { } 创建空字典：
访问字典里的值
    把相应的键放入到方括号中
修改字典
    向字典添加新内容的方法是增加新的键/值对，修改或删除已有键/值
删除字典元素
    能删单一的元素也能清空字典，清空只需一项操作。
    显式删除一个字典用del命令
    但这会引发一个异常，因为用执行 del 操作后字典不再存在
字典键的特性
    字典值可以是任何的 python 对象，既可以是标准的对象，也可以是用户定义的，但键不行。
    两个重要的点需要记住：
         1）不允许同一个键出现两次。创建时如果同一个键被赋值两次，后一个值会被记住
         2）键必须不可变，所以可以用数字，字符串或元组充当，而用列表就不行
"""
dict1 = {}
dict1 = {'key1': 'value1', 'key2': ''}
print(dict1, type(dict1), len(dict1), sep="\n")
# 使用内建函数 dict() 创建字典：
dict2 = dict()
print(dict2, type(dict2), len(dict2), sep="\n")
# 访问字典里的值
print(dict1['key1'], dict1['key2'])
# 如果用字典里没有的键访问数据，会输出错误 KeyError: 'key3'
# print(dict1['key1'], dict1['key3'])

# 修改字典
dict1['key2'] = "value2"
print(dict1['key1'], dict1['key2'])
print(str(dict1))

# 删除字典元素
del dict1['key2']
print(dict1)
# 但这会引发一个异常，因为用执行 del 操作后字典不再存在

